/*
 * ProgramA.h
 * * 一个简单的模拟子程序，用于演示。
 * 它继承自 ISubProgram 接口。
 */

#pragma once
#include "ISubProgram.h"
#include <Arduino.h> // 需要包含 Arduino 库以使用 millis() 和 Serial

class ProgramA : public ISubProgram {

public:
    // 构造函数 (如果需要)
    ProgramA();
    
    // 实现接口所需的所有函数
    virtual const char* getName() override;
    virtual void sub_setup() override;
    virtual void sub_loop() override;
    virtual void sub_cleanup() override;

private:
    // 子程序的 "全局变量" 在这里声明为私有成员
    // 这可以防止与其他子程序发生命名冲突
    unsigned long _lastPrintTime;
    int _counter;
};